<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../day54/jquery-3.6.0.min.js"></script>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        h3 {
            padding: 20px 10px;
        }

        li {
            list-style: none;
        }

        .list li {
            line-height: 45px;
            text-indent: 10px;
            border: 1px solid #333;
        }

        .buttonGroup {
            margin-top: 20px;
        }

        .active {
            background-color: #6ff;
        }

        .buttonGroups {
            padding: 10px;
        }
    </style>
</head>
<body>
    <div id="demo" class="wrap">
        <div class="buttonGroups">
            <button>新增</button>
            <button>新增(放父元素)</button>
            <button>新增(放同级)</button>
        </div>
        <ul class="list">
            <li class="first">01</li>
            <li>02</li>
            <li class="mid">03</li>
            <li>04</li>
            <li>05</li>
            <li class="last"><span>06</span></li>
        </ul>
    </div>
</body>
<script>
    // 一. jquery中如何新增元素
    // 1. 创建原生dom元素    => 在转化为jquery对象
    // 2. $(html)  接收一个html结构   => 返回对应html的jquery对象
    // 2.1 $(html,option) 除了接收一个html结构,还可以接收一个对象参数 作为该元素的修饰

    $("button").eq(0).click(function(){
        // var li = document.createElement("li");
        // console.log($(li));

        // 2. 接收一个html结构 => 返回对应html的jquery对象
        // $("<li>123123</li>").appendTo(".list");
        // $("<li></li>").text("123123").appendTo(".list");
        // $("<li/>").text("123").addClass("newLi").width(200).height(200).css({textAlign:"center"}).click(function(){
        //     console.log($(this).index());
        // }).appendTo(".list");

        //2.
        $("<li/>",{
            text: "123123",
            // html: "<span>asdasd</span>",
            class: "newLi",
            width: 200,
            height: 200,
            css: {
                textAlign: "center",
                lineHeight: "200px",
            },
            click: function () {
                console.log($(this).index());
            }
        }).appendTo(".list")
    })

    $("button").eq(1).click(function () {
        var li = document.createElement("li");
        $(li).html("我是新增的li");

        // 如何放到父元素中?
        // a. 父元素统筹
        // $(parent).append(string|html结构|dom|jquery对象)   向匹配的元素中 追加 一段内容
        // $(parent).prepend(string|html结构|dom|jquery对象)  向匹配的元素中 预追加 一段内容

        // $(".list").append("hello");
        // $(".list").append("<h2>123123</h2>");
        // $(".list").append(li);
        // $(".list").append($(li));

        // b. 子元素统筹
        // $(ele).appendTo(parent)  //将匹配的元素 追加到 另一个元素中(父元素)
        // $(ele).prependTo(parent)  //将匹配的元素 预追加到 另一个元素中(父元素)

        // $(li).appendTo(".list");
        $(li).prependTo(".list");

    })

    $("button").eq(2).click(function () {
        var li = document.createElement("li");
        $(li).html("我是新增的li");

        // 如何放到同级元素的 前/后

        // a. 喜新厌旧
        // $(newEle).insertBefore(oldEle)    将匹配的元素 插入到 另一个元素的前面
        // $(newEle).insertAfter(oldEle)     将匹配的元素 插入到 另一个元素的后面

        // $(li).insertBefore(".mid");
        // $(li).insertAfter(".mid");

        // b. 
        // $(oldEle).before(newEle)   向匹配的元素  的前面 添加一个新的元素
        // $(oldEle).after(newEle)    向匹配的元素  的后面 添加一个新的元素

        // $(".mid").before(li);
        // $(".mid").after(li);
    })
</script>
</html>